$(function () {
    //保存数据
    $("#fyl-save").on('click', function () {
        //验证登录
        if (verifyLogin()) {
            //封装数据
            packagingAttr();
            // console.log("--------------dataForm")
            // console.log($("#dataForm").serializeArray())
            // console.log(JSON.stringify($("#dataForm").serializeArray()))
            // console.log("--------------inputAttrForm")
            // console.log($("#inputAttrForm").serializeArray())
            // console.log(JSON.stringify($("#inputAttrForm").serializeArray()))
            // console.log("--------------oututAttrForm")
            // console.log($("#outputAttrForm").serializeArray())
            // console.log(JSON.stringify($("#outputAttrForm").serializeArray()))
            var data = {
                "id": $("#id").val(),
                "dataForm": JSON.stringify($("#dataForm").serializeArray()),
                "inputAttrForm": JSON.stringify($("#inputAttrForm").serializeArray()),
                "outputAttrForm": JSON.stringify($("#outputAttrForm").serializeArray())
            }
            // console.log(data)
            ajaxFunParam("/xl/api/ajax/save", data, function (result) {
                msgFunCallBack(result.msg, function () {
                    /*if (result.status == 0) {
                        // closePage(openPageEndIndex)
                        location.reload()
                    }*/
                })
            })
        }
    })
    //追加参数
    $(".inputAttr").keydown(function () {
        insertInputAttr("inputAttr", this);
    });
    //追加参数
    $(".outputAttr").keydown(function () {
        insertOutputAttr("outputAttr", this);
    });
})

//添加输入属性
function insertInputAttr(id, em) {
    var nextNode = $(em).parent().parent().next();
    if ($(em).val() != '' && nextNode.length == 0) {
        insertInputAttrTr(id)
    }
}

//插入输入属性tr节点
function insertInputAttrTr(id) {
    var html = '<tr class="' + id + 'Item newItem"><td><input autocomplete="off" type="text" onkeydown="insertInputAttr(\'' + id + '\',this)" class="form-control ' + id + ' attrName"></td><td><input autocomplete="off" type="text" onkeydown="insertInputAttr(\'' + id + '\',this)" class="form-control ' + id + ' attrValue"></td><td><input autocomplete="off" type="text" onkeydown="insertInputAttr(\'' + id + '\',this)" class="form-control ' + id + ' attrDesc"></td><td><select class="form-control attrReq"><option value="否">否</option><option value="是">是</option></select></td><td><a class="btn btn-danger" onclick="trNodeDel(this)">删除</a></td></tr>';
    $("#" + id).append(html);
}

//添加输出属性
function insertOutputAttr(id, em) {
    var nextNode = $(em).parent().parent().next();
    if ($(em).val() != '' && nextNode.length == 0) {
        insertOutputAttrTr(id);
    }
}

//插入输出属性tr节点
function insertOutputAttrTr(id) {
    var html = '<tr class="' + id + 'Item newItem"><td><input autocomplete="off" type="text" onkeydown="insertOutputAttr(\'' + id + '\',this)" class="form-control ' + id + ' attrName"></td><td><input autocomplete="off" type="text" onkeydown="insertOutputAttr(\'' + id + '\',this)" class="form-control ' + id + ' attrDesc"></td><td><a class="btn btn-danger" onclick="trNodeDel(this)">删除</a></td></tr>';
    $("#" + id).append(html);
}

//删除tr节点
function trNodeDel(em) {
    $(em).parent().parent().remove();
}

//包装参数
function packagingAttr() {
    $("tr[class~='inputAttrItem']").each(function (index, element) {
        parseInputAttr(this, 'inputAttr');
    })
    $("tr[class~='outputAttrItem']").each(function (index, element) {
        parseOutputAttr(this, 'outputAttr');
    })
}

//解析输入属性
function parseInputAttr(em, name) {
    var attrName = $(em).find(".attrName").val();
    var attrValue = $(em).find(".attrValue").val();
    var attrDesc = $(em).find(".attrDesc").val();
    if (attrName != '' || attrValue != '' || attrDesc != '') {
        var attrReq = $(em).find(".attrReq").val();
        var attr = attrName + "#" + attrValue + "#" + attrDesc + "#" + attrReq;
        var attrInput = '<input type="hidden" name="' + name + '" value="' + attr + '">';
        $("#" + name + "Form").append(attrInput);
    }
}

//解析输出属性
function parseOutputAttr(em, name) {
    var attrName = $(em).find(".attrName").val();
    var attrDesc = $(em).find(".attrDesc").val();
    if (attrName != '' || attrDesc != '') {
        var attr = attrName + "#" + attrDesc;
        var attrInput = '<input type="hidden" name="' + name + '" value="' + attr + '">';
        $("#" + name + "Form").append(attrInput);
    }
}

//初始化数据
function initFrom() {
    //删除上次新添加的参数
    $("#newItem").remove();
    //接口id
    $("#id").val("");
    //接口名称
    $("#title").val("");
    //接口地址
    $("#url").val("");
    //请求方式
    $("#method").val("");
    //Json结果
    $("#jsonResult").val("");
    //接口说明
    $("#introduction").val("");
}